#include <iostream>
#include <windows.h>
#include <conio.h>
#include "Const.h"
#include "Game.h"
#include "Snake.h"
#include "Field.h"


int main()
{
	snake_size = 5;// >0 �������� ������ + ������ ������ (���� 1 - �� ������ ������)
	//timeout = 200; //> 100 (ms), 1000 - ����� ����������� ���������� ��������� �� 1 �������
	
//���������� ������� ��������� ��������� �� 1 �� L; snake_x[0] = 1
//	snake_x[L-1] - ������ ������
//	snake_x[L-snake_size] - ����, ��� ��������� ������ ������

	for (int i = 0; i < L; i++)
	{
		snake_x[i] = i+1;
	}
	
//������� ���������� ���������� ��������� ������ ������ 
srand(time(0));
int step = rand() % L + 1; 
//step = 13;
//snake_x[0] = 13;

for (int i = 0; i < step-1; i++)
{
	int tmp = snake_x[0];
	for (int j = 0; j< L - 1; j++)
	{
		snake_x[j] = snake_x[j + 1];
	}
	snake_x[L - 1] = tmp;
}

field[0]= field[columns -1]= '*';//��������� ������

field[snake_x[0]] = head_symbol;//���������� ������

// ��������� ������, ���� ����
	for (int i = 1; i < snake_size; i++)
	{
		field[snake_x[L - i]] = tail_symbol;
	}

	stop

		for (int i = 0; i < columns; i++)
		{
			std::cout << border_symbol;
		}
	std::cout << std::endl;


	for (int i = 0; i < columns; i++)
	{
		std::cout << field[i];
	}
	std::cout << std::endl;


	for (int i = 0; i < columns; i++)
	{
		std::cout << border_symbol;
	}
	std::cout << std::endl;

	std::cout << "Press control key" << std::endl;//5)	����� ����������� � ����.
	
	//char key = _getch();

//Var1, ������ ������ ������
	
	while(false)//
	{
		system("cls");//������ ������� �������

		//������� ��������� ������ ������ 
		int tmp = snake_x[0];
		
		for (int j = 0; j < L - 1; j++)
		{
			snake_x[j] = snake_x[j + 1];
		}
		
		snake_x[L - 1] = tmp;
				
		//������������� ��������� ������
		field[snake_x[0]] = head_symbol;
				
		//������ "�����"
		field[snake_x[L - snake_size]] = field_symbol;
			
		
		//������
		for (int i = 0; i < columns; i++)
		{
			std::cout << border_symbol;
		}
		std::cout << std::endl;


		for (int i = 0; i < columns; i++)
		{
			std::cout << field[i];
		}
		std::cout << std::endl;


		for (int i = 0; i < columns; i++)
		{
			std::cout << border_symbol;
		}
		std::cout << std::endl;


		Sleep(timeout);
		
	}
										
//Var2, ������+����� ������
	
	while (true)
	{
		system("cls");//������ ������� �������

		//������� ��������� ������ ������ 
		int tmp = snake_x[0];

		for (int j = 0; j < L - 1; j++)
		{
			snake_x[j] = snake_x[j + 1];
		}

		snake_x[L - 1] = tmp;

		//������������� ��������� ������
		field[snake_x[0]] = head_symbol;

		//������ "�����"
		field[snake_x[L - snake_size]] = field_symbol;

		if (snake_size > 1)
		{
			//������ ������ ������ ������
			field[snake_x[L - 1]] = tail_symbol;
		}
		
		//������
		for (int i = 0; i < columns; i++)
		{
			std::cout << border_symbol;
		}
		std::cout << std::endl;


		for (int i = 0; i < columns; i++)
		{
			std::cout << field[i];
		}
		std::cout << std::endl;


		for (int i = 0; i < columns; i++)
		{
			std::cout << border_symbol;
		}
		std::cout << std::endl;


		Sleep(timeout);

	}
		
	
	return 0;//��� ���������� ����������
}

